package com.ruibang.glass.portal.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruibang.glass.portal.domain.ButtonReq;
import com.ruibang.glass.portal.entity.MenuEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MenuMapper extends BaseMapper<MenuEntity> {


    /**
     * 获取菜单list
     *
     * @return
     */
    List<MenuEntity> getMenuList();

    /**
     * 根据用户id获取菜单
     *
     * @param userId
     * @return
     */
    List<MenuEntity> getMenuByUserId(String userId);

    /**
     * 根据id获取菜单详情
     *
     * @param menuId
     * @return
     */
    MenuEntity get(@Param("menuId") String menuId);


    List<MenuEntity> listChildMenu(@Param("parentId") String parentId);

    /**
     * 根据menuId查询当前菜单下的所有按钮
     *
     * @param menuId
     * @return
     */
    List<MenuEntity> listChildButtonByMenuId(String menuId);

    /**
     * 根据roleId和menuId获取可访问的按钮
     *
     * @return
     */
    List<String> getUsableButton(ButtonReq buttonReq);

    String getMenuIdByMenuName(@Param("menuName") String menuName);
}
